<?php
class ModelController extends Zend_Controller_Action
{
	function loadAction(){
		$this->_helper->viewRenderer->setNoRender();
		$id    = (int)$this->_request->getParam('id');
		$class = $this->_request->getParam('class');
		$cadConfiavel = $this->_request->getParam('cadConfiavel');
   		if ($id == 0 || $class==null){
   			return false;
   		}
   		$objeto= $this->factory($class);
   		if ($cadConfiavel != null){
   			$cadConfiavel = ($cadConfiavel == 'true') ? (true) : (false);
   			$objeto->setCadastro($cadConfiavel); 
   		}
		$objeto->load($id);
		$arr = array_values(get_object_vars($objeto));
		if ($arr[0]==null){
			return false;
		}	
		Zend_loader::loadClass("Zend_Json");
		$objJson = Zend_Json::encode($objeto);	 
        // coloca na camada de visao o objeto jSon   
        $this->_response->appendBody($objJson);	    	
    }	
    
	public static function factory($class){
		return new $class;
	}	
	
	public function listaAction(){
		$this->_helper->viewRenderer->setNoRender();
		$id    = (int)$this->_request->getParam('id');
		$class = $this->_request->getParam('class');
		$estiloLista = $this->_request->getParam('styleList'); 
		$pesquisa = $this->_request->getParam('pesquisar');
   		if ($id == 0 || $class=='' || $estiloLista==''){
   			return false;
   		}
	    $objeto= $this->factory($class);
		$objeto->load($id);
		$arr = array_values(get_object_vars($objeto));
		if ($arr[0]==null){
			return false;
		}
		if ($estiloLista=='select'){
			$html=$this->getOptionObjetosDependentes(null, $id, null, $pesquisa, $objeto);
		}
		$this->_response->appendBody($html);	
	}

	public static function getOptionObjetosDependentes($classPai=null, $idPai=null, $idFilho=null, $pesquisa=false, $objetoPai=null, $listarFilho=true){
		echo 'teste='.$objetoPai->id_pais;
		if ($objetoPai==null){
			$objetoPai = ModelController::factory($classPai);
			$objetoPai->load($idPai);
		}
		if ($listarFilho==true){
			$lista = $objetoPai->getDependentes();
		} else {
			$lista = $objetoPai->buscar();
		}
			
		if ($pesquisa==true){
			$html=' <option value="0">Todos</option> ';	
		} else {
			$html=' <option value=""> </option> ';
		}

		foreach ($lista as $item){
			$html.=' <option ';
			if ($item['id']==$idFilho){
				$html.='selected="selected"';
			}
			$html.='value="'.$item['id'].'">'.$item['des'].'</option> ';
		}		
		if ($pesquisa==false){
			$html.=' <option value="0">Outro</option> ';
		}
		return $html;			
	}	

    public static function getMessage($id_message){
    	$alerta = new AlertaErro();
    	$alerta->load($id_message, APPLICATION_IDIOMA);
    	return $alerta->ds_mensagem;  
    }
    public static function getDetalheMensagem($id_message){
    	$alerta = new AlertaErro();
    	$alerta->load($id_message, APPLICATION_IDIOMA);
    	return $alerta->ds_mensagem.'<br>'.$alerta->ds_detalhe_mensagem;      	
    }
}
?>